#ifndef LIFE_H_
#define LIFE_H_

/**
 * The robot's lifecycle
 * @author David Asabina
 * 
 */
#include <avr/io.h>
#include "life.h"
/**
 * Start of the robot's lifecycle
 * Place all self-test code and initialization code in this function.
 * @author David Asabina
 * @return integer value based based on code encapsulated in function
 */
uint8_t wake();

/**
 * The operational-mode of the robot's lifecycle
 * The code to specify the behavious of the robot in its operational
 * mode.
 * @author David Asabina
 * @return integer value based based on code encapsulated in function
 */
uint8_t live();

/**
 * The shut-down phase of the robot's lifecyle
 * All code to verify succesful completion of objectives and proper
 * shutdown of used modules should be implemented within this function.
 * @author David Asabina
 * @return integer value based based on code encapsulated in function
 */
uint8_t die();

#endif
